home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / machack / Hacks96 / BootingGallery.sit / Booting Gallery / Booting Gallery (source) / Sources / Duck Game Sources / DuckGame.h < prev    next >
Text File  |  1996-06-22  |  1KB  |  59 lines

  1. #ifndef __DuckGame_H__
  2. #define __DuckGame_H__
  3.  
  4. /***
  5.  *     Created by Bill Hubauer on Fri, Jun 21, 1996 @ 2:25 AM.
  6.  *
  7.  ***/
  8.  
  9. #ifndef __SpriteGame_H__
  10. #include "SpriteGame.h"
  11. #endif
  12.  
  13.  
  14. class CDuckGame : public CSpriteGame
  15. {
  16. public:
  17.     CDuckGame();
  18.     virtual ~CDuckGame();
  19.  
  20.     virtual OSErr        Initialize();
  21. protected:
  22.     virtual CSprite*    MakeExtensionSprite(GWorldPtr image,RgnHandle mask) ; //Override
  23.     virtual void        DrawBackground(const Rect& inBounds);
  24. };
  25.  
  26. class CDuckSprite : public CGameSprite
  27. {
  28. public:
  29.     CDuckSprite(CSpriteWorld* world,CSpriteGame* game,GWorldPtr image,
  30.                         RgnHandle mask);
  31.     virtual ~CDuckSprite();
  32.     
  33.         enum { kDuckStartTop = 200, kDuckStartLeft = 0};
  34.  
  35.     virtual    void    UpdatePosition() ; //Override
  36.     virtual Boolean    WasHitBy(CSprite*    thisOne);
  37. protected:
  38.             OSErr    BuildDuckImage(GWorldPtr iconImage,RgnHandle iconMask);
  39.             void    SetNextDuck();
  40.             OSErr    CopyBaseImage(short id,GWorldPtr& outGWorld,RgnHandle& outMask);
  41.             OSErr    Superimpose(GWorldPtr iconImage,RgnHandle iconMask,GWorldPtr duck,RgnHandle duckMask);
  42.      
  43.     enum { kMoveHInterval = 5 };
  44.     enum { kQuackID = 1001};
  45.     enum { kDuck1 = 1001,kDuck2 = 1002};
  46.     
  47.     struct DuckEntry{
  48.         GWorldPtr    image;
  49.         RgnHandle    mask;
  50.     };
  51.     
  52.     DuckEntry        fDucks[2];
  53.     short            fCurDuck;
  54.  
  55. };
  56.  
  57.  
  58. #endif
  59.